//
// FILE NAME: CIDImage_PixelArray_Win32.cpp
//
// AUTHOR: Dean Roddey
//
// CREATED: 02/28/1998
//
// COPYRIGHT: Charmed Quark Systems, Ltd @ 2019
//
//  This software is copyrighted by 'Charmed Quark Systems, Ltd' and
//  the author (Dean Roddey.) It is licensed under the MIT Open Source
//  license:
//
//  https://opensource.org/licenses/MIT
//
// DESCRIPTION:
//
//  This file implements the Win32 specific parts of the pixel array class.
//
// CAVEATS/GOTCHAS:
//
// LOG:
//
//  $_CIDLib_Log_$
//


// ---------------------------------------------------------------------------
//  Facility specific includes
// ---------------------------------------------------------------------------
#include    "CIDImage_.hpp"


// ---------------------------------------------------------------------------
//  TPixelArray: Private, non-virtual methods
// ---------------------------------------------------------------------------

//
//  For now we just return one of the default implementation objects. Once we've split
//  out the Win32 optimized one, we'll return one of those.
//
TPixelArrayImpl* TPixelArray::ppixaiMakeNew()
{
    return new TPixelArrayImpl();
}

TPixelArrayImpl*
TPixelArray::ppixaiMakeNew( const   tCIDImage::EPixFmts     eFmt
                            , const tCIDImage::EBitDepths   eBitDepth
                            , const tCIDImage::ERowOrders   eRowOrder
                            , const TSize&                  szImage)
{
    return new TPixelArrayImpl(eFmt, eBitDepth, eRowOrder, szImage);
}


TPixelArrayImpl*
TPixelArray::ppixaiMakeNew( const   tCIDImage::EPixFmts     eFmt
                            , const tCIDImage::EBitDepths   eBitDepth
                            , const tCIDImage::ERowOrders   eRowOrder
                            , const TSize&                  szImage
                            ,       tCIDLib::TCard1* const  pc1Buf
                            , const tCIDLib::TCard4         c4BufSz
                            , const tCIDLib::EAdoptOpts     eAdoptOpt)
{
    return new TPixelArrayImpl
    (
        eFmt, eBitDepth, eRowOrder, szImage, pc1Buf, c4BufSz, eAdoptOpt
    );
}

